package com.springboot.frame.starter.pay.v3.resp;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;

/**
 * @author liheng
 * @ClassName FacilV3PayNotifyRespBody
 * @Description
 * @date 2021-09-02 11:11
 *
 */
@Data
public class FacilV3PayNotifyRespBody {
    /**
     * 通知的唯一ID
     */
    private String id;
    /**
     * 通知创建的时间
     */
    @JsonProperty("create_time")
    private Date createTime;
    /**
     * 通知的类型，支付成功通知的类型为TRANSACTION.SUCCESS
     */
    @JsonProperty("resource_type")
    private String resourceType;
    /**
     * 通知的资源数据类型，支付成功通知为encrypt-resource
     */
    @JsonProperty("event_type")
    private String eventType;
    /**
     * 回调摘要
     * 示例值：支付成功
     */
    private String summary;
    /**
     * 通知资源数据
     * json格式
     */
    private Resource resource;

    @Data
    public static class Resource {
        /**
         * 对开启结果数据进行加密的加密算法，目前只支持AEAD_AES_256_GCM
         */
        private String algorithm;
        /**
         * 原始回调类型，为transaction
         */
        @JsonProperty("original_type")
        private String originalType;
        /**
         * Base64编码后的开启/停用结果数据密文
         */
        private String ciphertext;
        /**
         * 加密使用的随机串
         */
        private String nonce;
        /**
         * 附加数据
         */
        @JsonProperty("associated_data")
        private String associatedData;
    }
}
